home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 8
/
Aminet 8 (1995)(GTI - Schatztruhe)[!][Oct 1995].iso
/
Aminet
/
dev
/
gui
/
gutil_dev_3652.lha
/
GadUtil.readme
< prev
Wrap
Text File
|
1995-06-26
|
12KB
|
229 lines
Short: GUI creation library (small & fast)
Author: P-O Yliniemi / Staffan Hämälä
Uploader: P-O Yliniemi
Type: dev/gui
This library is currently in its ßeta testing stage. The only thing that
is missing is some of the docs. All advanced functions are described, and
all less advanced functions have at least a short usage docs.
Some examples may have weird names (for those who don't understand swedish),
and some text files may be in swedish. This will be fixed for next release.
Two versions of the .library file is available with this developer package.
One is the "normal" library, and the other one prints out a lot of info when
executing a program that uses GadUtil.
If you need to use the debug version, rename the normal version in libs:,
copy the debug version to libs, and rename it to gadutil.library. Reverse
this to change back to the normal version. Don't forget to "flush" all
unused libraries or reboot before testing the program again.
All necessary files for Asm & C development are included.
P-O 950626
~~~~~~~~~~
;----------------------------------------------------------------------------
GadUtil.library v36.52
~~~~~~~~~~~~~~~~~~~~~~
GadUtil is another gui library which main goal was to make it easy to
create font sensitive user interfaces. The library has grown away from
this main goal, and become another useful-routine-library.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Distribution:
1) Distribution of this library is allowed in two ways:
¹) Only the .library file
²) The complete distribution
2) Programmers of totally free software can use and distribute this
library for free.
3) Programmers of Shareware, Licensware, commercial products and other
programs that the programmer get any kind of profit from shall send
a fully working (and registered) copy of the program and its docs to
us. All larger updates of the program should also be sent to us.
4) Programmers of non-free software not covered by 1) and 2) (my Diskware
concept belongs to this group) shall be treated as in 3) (a fully
working and registered copy...).
5) All programs (except commercial products in some cases) must state
that gadutil.library is used. This may be done in either the About
requester or in the documentation, but best of all in both places.
Demonstration programs for gadutil.library (that includes the full
source) may be distributed without this note.
Example for inclusion in About requester:
"This program uses gadutil.library, which
is Copyright © 1994-1995 by P-O Yliniemi
and Staffan Hämälä."
6) All localized programs that uses this library should include the
.ct file(s) to allow anyone to translate that program into their
own language.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Below is a list of some of the main functions covered by this library.
* FAST (NO OR VERY SMALL DIFFERENCE AGAINST GADTOOLS) AND SMALL (LESS THAN 10k).
WRITTEN IN ASSEMBLY LANGUAGE. NO F*CKING 'C' or any other slow language!
* Font adaptive. Use any of the system fonts and most other fonts for
gadgets, texts and menus. All gadgets are placed relative to each
other, but can be placed at absolute positions (needed for the first
gadget).
* No need to use GIMMEZEROZERO windows, as this is automatically handled
by the library. If you specify a gadget position of 10,10 the gadget
will be placed at 10,10 within the window's border.
* Localized. It is really easy to localize all your (new) programs by
using this library. Functions and macros for creating localized menus
are supplied.
* Both assembly and 'C' language support. This is one of the things that is
missing in most of the other gui libraries. Some extra macros are defined
for assembly language users, and will make the gadget and menu creating
process even more easy.
* All GadTools gadgets are supported. Some extra functions are provided
for ListViews. BUTTON_KIND (and IMAGE_KIND) gadgets have some extra tags,
including a toggle-select option.
4 extended gadget types are handled by the library:
· FILE_KIND - gadget for selecting a file.
· DRAWER_KIND - gadget for selecting a drawer. Most programs also
use this gadget for file selection.
· IMAGE_KIND - uses an intuition image for the gadget. Can use
different images for selected and non-selected state.
· BEVELBOX_KIND - gadtools bevelboxes, with some extensions. All
gadtools bevelboxes are supported (even with v37).
Extensions allows text to be placed above, in or below
the upper line of the box. All kinds can be inverted.
New for v36.52: Bevelbox text placement extended.
3 new placements available together with the old
ones: centered, left adjusted & right adjusted.
BFT_BUTTON - GT v37 BUTTON_KIND border
BFT_RIDGE - GT v37 STRING_KIND border
BFT_DROPBOX - GT v39 BBFT_ICONDROPBOX border
BFT_HORIZBAR - A horizontal shadowed line
BFT_VERTBAR - A vertical shadowed line
This makes it a total of 100 bevel box types. The bevel
boxes are treated as gadgets by the library, and you
can obtain the structure for the bevelbox in the same
way as you get the gadget pointer.
* A new OpenFont (graphics.library and diskfont.library replacement) is supplied.
This function will open any font (from RAM, ROM or load it from disk).
* Functions for listviews include adding nodes (memory for the string is
allocated by the function), counting nodes, getting node pointers, clearing
a listview, attach and detach lists, moving nodes up and down.
* No need to open gadtools.library anymore, since all gadtools functions are
provided through this library. Some (the most useable) functions from locale
library are also provided by gadutil.
* Many libraries are opened through gadutil.library, and these library bases
are available for your own use (you don't have to open or close some libs).
* All gadgets are created using tag lists. Every next gadget will use the
previous gadgets values as defaults. Only one call to the gadget making
routine is needed for every gadget list.
* All gadgets can have their own hotkey. No extra work is needed by the
programmer (only one extra tag).
* Distributed with lots of examples, mostly in assembly language, but also
in 'C'.
* Other functions include:
· Status change for toggle select buttons.
· String change for STRING and TEXT_KIND gadgets.
· Disable functions for gadgets that support the GA_Disabled tag.
· Routines to set up a busy-pointer (available for bot v37 and v37). These
routines also blocks the input to the main window of the program.
· Routine to check if the mouse pointer is within a gadgets box. Useful
for mouse-position sensitive appwindows.
· Bevelbox and window refreshing functions.
* FAST (NO OR VERY SMALL DIFFERENCE AGAINST GADTOOLS) AND SMALL (LESS THAN 10k).
WRITTEN IN ASSEMBLY LANGUAGE. NO F*CKING 'C' or any other slow language!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Who did what?
~~~~~~~~~~~~~
This library has been tested from even before it became a library
(back in Nov-94) up to now all bugs that were found has been removed.
There might be a slight possibility that the library, even after this
long test perioc contains some bugs. Here is a list of which routines
and files who of us is "responsible" for bugs in:
Functions: (SH = Staffan, PO = me, empty = no func/no docs, -- = noone)
Func Docs Func Docs
GU_LayoutGadgetsA SH PO 01.GU_PreliminaryDocs PO
GU_FreeLayoutGadgets SH -- 00.TableOfContents PO
GU_SetGadgetAttrsA PO PO GU_CreateGadgetA PO PO
GU_GetIMsg PO PO GU_CountNodes PO PO
GU_GadgetArrayIndex SH -- GU_BlockInput PO PO
GU_FreeInput PO PO GU_FreeGadgets PO PO
GU_SetGUGadAttrsA SH -- GU_CoordsInGadBox PO PO
GU_GetGadgetPtr PO PO GU_TextWidth SH PO
GU_GetLocaleStr SH PO GU_CreateLocMenuA PO PO
GU_OpenCatalog PO PO GU_CloseCatalog PO PO
GU_DisableGadget PO -- GU_SetToggle PO --
GU_RefreshBoxes PO -- GU_RefreshWindow PO PO
GU_OpenFont PO -- GU_NewList PO --
GU_ClearList PO -- GU_DetachList PO --
GU_AttachList PO -- GU_AddTail PO --
GU_ChangeStr PO -- GU_CreateContext PO --
GU_GetGadgetAttrsA PO -- GU_CreateMenusA PO --
GU_FreeMenus PO -- GU_LayoutMenuItemsA PO --
GU_LayoutMenusA PO -- GU_GetVisualInfoA PO --
GU_FreeVisualInfo PO -- GU_BeginRefresh PO --
GU_EndRefresh PO -- GU_FilterIMsg PO --
GU_PostFilterIMsg PO -- GU_ReplyIMsg PO PO
GU_DrawBevelBoxA PO -- GU_FindNode PO --
GU_NodeUp PO -- GU_NodeDown PO --
GadUtil.manual SH GUtilInfo.txt PO
PrivateFunctions PO
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Per-Olof Yliniemi Staffan Hämälä
Muoniovaara Pellovägen 268
S-980 64 Muodoslompolo S-957 93 Pello
SWEDEN SWEDEN
email: email:
P-O_Yliniemi@spectre.talshiar.pp.se < no address for now >
Don't send programs through e-mail, since I have no way to regulary check
my mail!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~